<?php

class PedidoDetallesController extends AppController {
    var $name = 'PedidoDetalles';
      
    function anulardetalle($id) {
        $detalle = $this->PedidoDetalle->findById($id);
        if ($this->validarAnularDetalle($detalle)) {
            $detalle['PedidoDetalle']['cancelado'] = date("Y-m-d H:i:s");
            // cancela el usuario que esta logueado
            $detalle['PedidoDetalle']['usuario_id_cancel'] = $this->Auth->user('id');            
            if ($this->PedidoDetalle->save($detalle)) {
                $this->Session->setFlash('El detalle del pedido fue anulado.');
            }
        }         
        $this->redirect('/pedidos/detalle/'.$detalle['PedidoDetalle']['pedido_id']);
    }
    
    function validarAnularDetalle($detalle) {
        $this->loadModel('Pedido');
        
        $pedido = $this->Pedido->findById($detalle['PedidoDetalle']['pedido_id']);
        if ($pedido['Pedido']['cancelado'] ==1) {
            $this->Session->setFlash('El pedido fue cancelado previamente. No se puede anular este detalle.');
            return false;
        }
        if ($pedido['Pedido']['facturado'] == 1) {
            $this->Session->setFlash('El pedido ya fue facturado. No se puede anular este detalle.');
            return false;
        }        
        if ($pedido['PedidoDetalle']['cancelado']!=null) {
            $this->Session->setFlash('El detalle del pedido fue anulado previamente. No se puede anular.');
            return false;
        }
        return true;
    }

    
    
}
                
?>
